package com.vhall.component.service.preparation;

import com.vhall.component.entity.preparation.InviteCardsEntity;
import com.vhall.component.entity.preparation.vo.*;

/**
 * @author guoxin.wang
 * @date 2021/7/8 15:30
 */
public interface InviteCardService {

    /**
     * 设置邀请卡
     *
     * @param reqVO 参数
     * @return 返回值
     */
    SetInviteCardRespVO<InviteCardsEntity> setInviteCard(SetInviteCardReqVO reqVO);

    /**
     * 修改邀请卡
     *
     * @param reqVO 参数
     * @return 返回值
     */
    Boolean updateInviteCard(UpdateInviteCardReqVO reqVO);

    /**
     * 邀请卡开关
     *
     * @param reqVO 参数
     * @return 返回值
     */
    String switchInviteCard(SwitchInviteCardReqVO reqVO);

    /**
     * 封面上传
     *
     * @param reqVO 参数
     * @return 返回值
     */
    UploadInviteCardRespVO upload(UploadInviteCardReqVO reqVO);

    /**
     * 获取房间下邀请卡,如果没有要报错
     *
     * @param reqVO 参数
     * @return 返回值
     */
    GetInviteCardRespVO getInviteCard(GetInviteCardReqVO reqVO);

    /**
     * 获取房间下邀请卡,如果没有，不报错，返回没有
     *
     * @param reqVO 参数
     * @return 返回值
     */
    GetInviteCardRespVO getInviteCardNoException(GetInviteCardReqVO reqVO);

    /**
     * 邀请卡增加邀请记录
     *
     * @param reqVO 参数
     * @return 返回值
     */
    Boolean joinInvite(JoinInviteCardReqVO reqVO);

}
